Stored Procedures [dbo].[dt_setpropertybyid_u]
Properties
PropertyValue
ANSI Nulls OnYes
Quoted Identifier OnYes
Parameters
NameData TypeMax Length (Bytes)
@idint4
@propertyvarchar(64)64
@uvaluenvarchar(255)510
@lvalueimage16
Permissions
TypeActionOwning Principal
GrantExecutepublic
SQL Script
/*
**    If the property already exists, reset the value; otherwise add property
**        id -- the id in sysobjects of the object
**        property -- the name of the property
**        uvalue -- the text value of the property
**        lvalue -- the binary value of the property (image)
*/

create procedure dbo.dt_setpropertybyid_u
    @id int,
    @property varchar(64),
    @uvalue nvarchar(255),
    @lvalue image
as
    set nocount on
    --
    -- If we are writing the name property, find the ansi equivalent.
    -- If there is no lossless translation, generate an ansi name.
    --
    declare @avalue varchar(255)
    set @avalue = null
    if (@uvalue is not null)
    begin
        if (convert(nvarchar(255), convert(varchar(255), @uvalue)) = @uvalue)
        begin
            set @avalue = convert(varchar(255), @uvalue)
        end
        else
        begin
            if 'DtgSchemaNAME' = @property
            begin
                exec dbo.dt_generateansiname @avalue output
            end
        end
    end
    if exists (select * from dbo.dtproperties
            where objectid=@id and property=@property)
    begin
        --
        -- bump the version count for this row as we update it
        --
        update dbo.dtproperties set value=@avalue, uvalue=@uvalue, lvalue=@lvalue, version=version+1
            where objectid=@id and property=@property
    end
    else
    begin
        --
        -- version count is auto-set to 0 on initial insert
        --
        insert dbo.dtproperties (property, objectid, value, uvalue, lvalue)
            values (@property, @id, @avalue, @uvalue, @lvalue)
    end
GO
GRANT EXECUTE ON  [dbo].[dt_setpropertybyid_u] TO [public]
GO
Uses